Image capturing apparatus, control apparatus, and control method for distributing captured images to a terminal via a network

ABSTRACT

An image pickup apparatus according to the present invention includes image pickup means; holding means for holding a coordinate system used to represent an image capturing direction of the image pickup means or a region in an image capturing range of the image pickup means; reception means for receiving a first command for rotating a captured image obtained by the image pickup means or a captured image cut out from the region in the image capturing range by a certain angle, a second command for rotating the coordinate system held in the holding means about the origin by the certain angle, and specification information for specifying the image capturing direction in the coordinate system; and change control means for executing control to change the image capturing direction of the image pickup means to the image capturing direction specified by the specification information.

The present application is a continuation of U.S. patent applicationSer. No. 15/371,040, filed Dec. 6, 2016, entitled “IMAGE CAPTURINGAPPARATUS, CONTROL APPARATUS, AND CONTROL METHOD FOR DISTRIBUTINGCAPTURED IMAGES TO A TERMINAL VIA A NETWORK”, which is a continuation ofU.S. patent application Ser. No. 13/672,983, filed Nov. 9, 2012,entitled “IMAGE CAPTURING APPARATUS, CONTROL APPARATUS, AND CONTROLMETHOD FOR DISTRIBUTING CAPTURED IMAGES TO A TERMINAL VIA A NETWORK”,the content of both applications of which are expressly incorporated byreference herein in its entirety. Further, the present applicationclaims priority from International Patent Application No.PCT/JP2011/076149, filed Nov. 14, 2011, which is hereby incorporated byreference herein in its entirety.

TECHNICAL FIELD

The present invention relates to an image pickup apparatus capable ofdistributing a captured image to a terminal via a network, and moreparticularly relates to exclusion processing of plural interfacesprovided by the image pickup apparatus to the terminal.

BACKGROUND ART

An image pickup apparatus that changes an image capturing direction byactivating a pan head has been known. In addition, an image pickupapparatus that changes a direction in which the image pickup apparatuscaptures an image, in response to an instruction sent from a controlapparatus connected to the image pickup apparatus via a network has beenknown. In these image pickup apparatuses, when the setup state of eachimage pickup apparatus is changed, the direction in which the imagepickup apparatus captures an image in response to the same command isdifferent before and after the change.

For example, the case in which the setup state of an image pickupapparatus is changed from a state in which the image pickup apparatus isset to be upright to a state in which the image pickup apparatus is setto be flat and placed on a ceiling or the like will be described. When acommand for causing the image capturing direction of an image pickupapparatus that has been set to be upright to be directed upward is givento an image pickup apparatus that has been set to be flat, the imagepickup apparatus operates so that the image capturing direction isdirected downward. When the setup state of the image pickup apparatus ischanged from being upright to being flat, the direction in which theimage pickup apparatus captures an image in response to the same commandis inverted between top and bottom and between left and right.

To this end, an image pickup system that has plural control programs forchanging the direction in which an image pickup apparatus captures animage and that switches a control program to use in accordance with thesetup orientation of the image pickup apparatus is known (for example,see Patent Literature). In the image pickup system, the coordinatesystem for representing the image capturing direction in terms ofcoordinates is switched by switching the control program. Accordingly,regardless of the setup state, the image capturing direction of theimage pickup apparatus can always be directed to a certain direction inresponse to a particular command.

CITATION LIST Patent Literature

Japanese Patent Laid-Open No. 2008-153842

When a control apparatus is to receive and display a captured imageobtained by an image pickup apparatus, a change in the setup state ofthe image pickup apparatus also affects the orientation of the capturedimage displayed by the control apparatus. Therefore, it is preferablethat the orientation of the obtained captured image be also changeable.For example, when the setup state of the image pickup apparatus ischanged from an upright state to a flat state, top/bottom and left/rightof the captured image displayed at the control apparatus are inverted.To this end, a captured image obtained by the image pickup apparatus ina flat state is rotated by 180 degrees and is displayed at the controlapparatus. Accordingly, the captured image whose top/bottom andleft/right are identical to those of a captured image obtained in anupright state can be displayed.

An interface for changing the orientation of a captured image displayedat the control apparatus and an interface for changing the coordinatesystem for controlling the above-described image capturing direction maybe defined as different commands. In such an image pickup apparatus,when both of the orientation of a captured image to be displayed and theorientation of the coordinate system for controlling the image capturingdirection are to be changed, the top/bottom and left/right orientationof a captured image to be displayed may not be identical to thetop/bottom and left/right orientation of the coordinate system. Forexample, regarding a command for changing the orientation of thecaptured image and a command for changing the orientation of thecoordinate system, when one of the commands received prior to the otheris processed and the other command is unprocessed, the orientation ofthe captured image is not identical to the orientation of the coordinatesystem.

In this state, when a user looks at a distributed captured image andsends a command for changing the image capturing direction to the imagepickup apparatus, there is a problem that the pan head is activated in adirection different from that expected by the user. The same or similarproblem is not limited to the case in which the orientation of thecaptured image or the coordinate system is rotated by 180 degrees. Thesame or similar problem occurs in the case where the orientation of thecaptured image or the orientation of the coordinate system is rotated byarbitrary degrees.

SUMMARY OF INVENTION

To solve the above-described problem, an image pickup apparatusaccording to the present invention has, for example, the followingconfiguration. That is, the image pickup apparatus includes image pickupmeans; holding means for holding a coordinate system used to representan image capturing direction of the image pickup means; reception meansfor receiving a first command for rotating a captured image obtained bythe image pickup means by a certain angle, a second command for rotatingthe coordinate system held in the holding means about the origin by thecertain angle, and specification information for specifying the imagecapturing direction in the coordinate system; change control means forexecuting control to change the image capturing direction of the imagepickup means to the image capturing direction specified by thespecification information; and control means for executing, when thereception means receives one of the first command and the secondcommand, control to execute the first command and the second command.

Also, an image pickup apparatus according to the present invention has,for example, the following configuration. That is, the image pickupapparatus includes image pickup means; holding means for holding acoordinate system used to represent a region in an image capturing rangeof the image pickup means; reception means for receiving a first commandfor rotating a captured image cut out from the region in the imagecapturing range by a certain angle, a second command for rotating thecoordinate system held in the holding means about the origin by thecertain angle, and specification information for specifying, in thecoordinate system, a region for cutting out the captured image from theimage capturing range; cut-out means for cutting out the captured imagein the region in the coordinate system, the region being specified bythe specification means; and control means for executing, when thereception means receives one of the first command and the secondcommand, control to execute the first command and the second command.

Also, a control apparatus according to the present invention has, forexample, the following configuration. That is, the control apparatus isa control apparatus for controlling an image pickup apparatus includingholding means for holding a coordinate system used to represent an imagecapturing direction of image pickup means. The control apparatusincludes specification means for specifying an image capturing directionin the coordinate system; sending control means for executing control tosend, to the image pickup apparatus, a first command for rotating acaptured image obtained by the image pickup means in the image capturingdirection specified by the specification means by a certain angle, and asecond command for rotating the coordinate system held in the holdingmeans about the origin by the certain angle; and control means forexecuting, when the sending control means receives an instruction tosend one of the first command and the second command to the image pickupapparatus, control to cause the image pickup apparatus to execute thefirst command and the second command.

Also, a control apparatus according to the present invention has, forexample, the following configuration. That is, the control apparatus isa control apparatus for controlling an image pickup apparatus includingholding means for holding a coordinate system used to represent a regionin an image capturing range of image pickup means. The control apparatusincludes specification means for specifying a region in the coordinatesystem; sending control means for executing control to send, to theimage pickup apparatus, a first command for rotating a captured image inthe region in the image capturing range in accordance with the region inthe coordinate system, the region being specified by the specificationmeans, by a certain angle, and a second command for rotating thecoordinate system held in the holding means about the origin by thecertain angle; and control means for executing, when the sending controlmeans receives an instruction to send one of the first command and thesecond command to the image pickup apparatus, control to cause the imagepickup apparatus to execute the first command and the second command.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1A is a diagram for describing the configuration of an image pickupsystem according to the present invention;

FIG. 1B is a diagram for describing the configuration of the imagepickup apparatus according to the present invention;

FIG. 1C is a diagram for describing the configuration of the imagepickup apparatus according to the present invention;

FIG. 2A is a diagram for describing the configuration of an image pickupapparatus according to the present invention;

FIG. 2B is diagram for describing the configuration of an image pickupapparatus according to the present invention;

FIG. 2C is diagram for describing the configuration of a clientaccording to the present invention;

FIG. 3 is a flowchart for describing the operation of an image pickupapparatus according to a first embodiment;

FIG. 4A is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the first embodiment;

FIG. 4B is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the first embodiment;

FIG. 4C is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the first embodiment;

FIG. 4D is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the first embodiment;

FIG. 5A is a diagram for describing a command received by the imagepickup apparatus according to the present invention;

FIG. 5B is a diagram for describing a command received by the imagepickup apparatus according to the present invention;

FIG. 5C is a diagram for describing a command received by the imagepickup apparatus according to the present invention;

FIG. 5D is a diagram for describing a command received by the imagepickup apparatus according to the present invention;

FIG. 5E is a diagram for describing a response received by the imagepickup apparatus according to the present invention;

FIG. 5F is a diagram for describing a response received by the imagepickup apparatus according to the present invention;

FIG. 6 is a diagram for describing inversion of the image orientation ofa captured image;

FIG. 7 is a diagram for describing inversion of a coordinate system usedby the image pickup apparatus;

FIG. 8 is a flowchart for describing the operation of an image pickupapparatus according to a second embodiment;

FIG. 9A is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the second embodiment;

FIG. 9B is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the second embodiment;

FIG. 9C is a flowchart for describing the details of the operation ofthe image pickup apparatus according to the second embodiment;

FIG. 10A is a flowchart for describing the operation of a controlapparatus according to a third embodiment; and

FIG. 10B is a flowchart for describing the operation of the controlaccording to the third embodiment.

DESCRIPTION OF EMBODIMENTS

Hereinafter, the present invention will be described in detail on thebasis of preferred embodiments thereof. Note that the configurationdiscussed in the following embodiments is only exemplary, and thepresent invention is not limited to the illustrated configuration.

First Embodiment

FIG. 1A illustrates the configuration of an image pickup systemaccording to the present embodiment. In the image pickup systemaccording to the present embodiment, an image pickup apparatus 1000 isconnected to a client 3000 via a network 3020. The image pickupapparatus 1000 distributes a captured image obtained by the image pickupapparatus 1000 to the client 3000 via the network 3020.

The network 3020 includes plural routers, switches, and cablessatisfying a communication standard such as Ethernet (registeredtrademark). In the present invention, any communication standard, size,and configuration may be used as long as communication can be performedbetween the image pickup apparatus 1000 and the client 3000. Forexample, the network 3020 may include the Internet, a wired LAN (LocalArea Network), a wireless LAN, or a WAN (Wide Area Network).

The client 3000 sends a command to the image pickup apparatus 1000. Theclient 3000 sends a command for changing the image capturing directionor the angle of view of the image pickup apparatus 1000. Also, theclient 3000 sends a command for rotating a coordinate system, which isused to represent a position in the image capturing range of the imagepickup apparatus 1000, about the origin. Further, the client 3000includes a display unit 3010 for displaying a captured image obtained bythe image pickup apparatus 1000. The client 3000 sends a command forrotating, at the image pickup apparatus 1000, the captured imagedisplayed on the display unit 3010.

The image pickup apparatus 1000 changes the image capturing direction inresponse to the command, received from the client 3000, for changing theimage capturing direction. Also, the image pickup apparatus 1000 changesthe angle of view in response to the command, received from the client3000, for changing the angle of view. Using FIG. 1B, drive mechanismsfor causing the image pickup apparatus 1000 according to the presentembodiment to change the image capturing direction or the angle of viewwill be described. A panning drive mechanism 1101 changes the imagecapturing direction of the image pickup apparatus 1000 in a panningdirection. In addition, a tilting drive mechanism 1102 changes the imagecapturing direction of the image pickup apparatus 1000 in a tiltingdirection. Further, a zooming mechanism 1103 changes the angle of viewof the image pickup apparatus 1000.

FIG. 2A illustrates the internal configuration of the image pickupapparatus 1000 according to the present embodiment. In FIG. 2A, acontrol unit 1001 executes the overall control of the image pickupapparatus 1000. The control unit 1001 includes, for example, a CPU(Central Processing Unit), and executes a program stored in a memory1002 described later. Alternatively, the control unit 1001 may executecontrol using hardware.

The memory 1002 is used as a data storage region, such as a storageregion of a program executed by the control unit 1001, a work region fora program being executed, or a storage region of a captured imagegenerated by an image pickup unit 1003 described later. In addition, thememory 1002 holds the coordinate system used to represent the imagecapturing direction of the image pickup unit 1003 described later. Also,when the control unit 1001 is executing a particular command (anautomatic image orientation changing command or an automatic coordinateorientation changing command) described later, the memory 1002 holdsinformation for indicating that these commands are being executed. Forexample, when a particular command is being executed, a flag managed inthe memory 1002 is set, thereby indicating that the particular commandis being executed.

The image pickup unit 1003 captures an image of a subject and convertsthe obtained analog signal into digital data. Also, the image pickupunit 1003 executes data compression processing by performing, forexample, ADCT (Adaptive Discrete Cosine Transform) to generate acaptured image, and outputs the captured image to the memory 1002. Afteroutputting the captured image to the memory 1002, the image pickup unit1003 sends an image obtaining event to the control unit 1001.

A communication unit 1004 receives, from the client 3000, an imagecapturing range changing command illustrated in FIG. 5A, an imageorientation changing command illustrated in FIG. 5B, and a coordinateorientation changing command illustrated in FIG. 5C. Upon receipt of thecommands illustrated in FIGS. 5A to 5C, the communication unit 1004sends reception events to the control unit 1001. Also, the communicationunit 1004 sends responses in response to the commands illustrated inFIGS. 5A to 5C to the client. In the present embodiment, thecommunication unit 1004 sends a normal response, which is a response forindicating that the received command is normally executed, or an errorresponse, which is a response for indicating that the received commandis not executed, to the client. FIG. 5E illustrates an example of thenormal response. In addition, FIG. 5F illustrates an example of theerror response.

A timing unit 1005 measures a time period that has elapsed since theimage pickup apparatus 1000 has received the image orientation changingcommand or the coordinate orientation changing command. When a certaintime period has elapsed after the start of execution of a particularcommand (an automatic image orientation changing command or an automaticcoordinate orientation changing command) described later, the timingunit 1005 sends a timeout event to the control unit 1001.

An image pickup control unit 1006 controls the panning drive mechanism1101, the tilting drive mechanism 1102, and the zooming mechanism 1103in accordance with instructions from the control unit 1001. That is,when the communication unit 1004 receives the image capturing rangechanging command, described later using FIG. 5A, from the client 3000, areception event in response to the command is sent to the control unit1001. When the control unit 1001 receives the reception event, thecontrol unit 1001 gives a control instruction to the image pickupcontrol unit 1006 in accordance with the contents of the receptionevent. Having received the control instruction, the image pickup controlunit 1006 executes control to drive the panning drive mechanism 1101,the tilting drive mechanism 1102, or the zooming mechanism 1103 inaccordance with the control instruction. The image pickup control unit1006 executes change control to change the image capturing direction, inwhich the image pickup unit 1003 captures an image, to a positionspecified by the coordinates specified by the image capturing rangechanging command, described later using FIG. 5A, and the above-describedcoordinate system held in the memory 1002. In this manner, the imagepickup control unit 1006 executes control to change the image capturingdirection of the image pickup unit 1003 to an image capturing directionspecified by specification information.

The internal configuration of the image pickup apparatus 1000 has beendescribed above. Processing blocks illustrated in FIG. 2A describe anexample of a preferred embodiment of the image pickup apparatus 1000according to the present invention and are not limited thereto. Withoutdeparting from the scope of the gist of the present invention, variousmodifications and changes can be made, such as including an audio inputunit.

Next, the internal configuration of the client 3000 will be describedusing FIG. 2C. The client 3000 is configured as a computer deviceconnected to the network 3020. A control unit 3001 executes the overallcontrol of the client 3000. The control unit 3001 includes, for example,a CPU, and executes a program stored in a memory 3002 described later.Alternatively, the control unit 3001 may execute control using hardware.

The memory 3002 is used as a storage region of a program executed by thecontrol unit 3001, a work region for a program being executed, and adata storage region.

A communication unit 3004 receives a captured image sent from the imagepickup apparatus 1000. In addition, the communication unit 3004 sendscommands for controlling the image pickup apparatus 1000.

An input unit 3005 accepts input of an instruction from a user. Forexample, the input unit 3005 can accept, as an instruction from theuser, input of an instruction to send various commands to the imagepickup apparatus 1000. The details of commands for the image pickupapparatus 1000 will be described later using FIGS. 5A to 5C. When aninstruction to send a command to the image pickup apparatus 1000 isinput from the user, the input unit 3005 notifies the control unit 3001of the fact that the instruction to send a command has been input. Inresponse to the instruction input to the input unit 3005, the controlunit 3001 generates a command for the image pickup apparatus 1000, andexecutes sending control to send the generated command to the imagepickup apparatus 1000 via the communication unit 3004.

In addition, the input unit 3005 can accept input of the user's responsein response to, for example, a query message for the user, which isgenerated by the control unit 3001 executing the program stored in thememory 3002.

A timing unit 3006 measures a time period that has elapsed since theimage orientation changing command or the coordinate orientationchanging command has been sent to the image pickup apparatus 1000.

The display unit 3010 displays a captured image received by thecommunication unit 3004. Also, the display unit 3010 can display, forexample, a query message for the user, which is generated by the controlunit 3001 executing the program stored in the memory 3002.

Next, commands provided by the client 3000 to the image pick upapparatus 1000 will be described using FIGS. 5A to 5C. As illustrated inFIGS. 5A to 5C, each command includes information of a destinationaddress indicating the destination of a target who executes the command,and information of a source address indicating the source of thecommand. Further, each command includes information for the contents andargument(s) of the command.

Firstly, an example of the image capturing range changing command willbe described using FIG. 5A. Using the image capturing range changingcommand, the client 3000 changes the image capturing range of the imagepickup apparatus 1000. Arguments of the image capturing range changingcommand include a panning coordinate, a tilting coordinate, and azooming coordinate in the coordinate system held in the memory 1002. Inthe present embodiment, the client 3000 and the image pickup apparatus1000 normalize the angle in a horizontal direction at which the imagepickup apparatus 1000 can capture an image from −1.0 to +1.0. Thepanning direction of the image pickup apparatus 1000 is representedusing a value from −1.0 to +1.0 as the panning coordinate. Similarly,the client 3000 and the image pickup apparatus 1000 normalize the anglein a vertical direction at which the image pickup apparatus 1000 cancapture an image from −1.0 to +1.0. The tilting direction of the imagepickup apparatus 1000 is represented using a value from −1.0 to +1.0 asthe tilting coordinate.

Further in the present embodiment, the client 3000 and the image pickupapparatus 1000 normalize values in the range from the telephoto end tothe wide angle end of zooming from −1.0 to +1.0. As a zooming value, forexample, the value of zooming magnification or focal length can be used.The zooming position of the image pickup apparatus 1000 is representedusing a value from −1.0 to +1.0 as the zooming coordinate. Using thepresent command, the client 3000 is capable of specifying the absoluteposition of the panning coordinate, the tilting coordinate, and thezooming coordinate, and arbitrarily changing the image capturing rangeof the image pickup apparatus 1000. The panning coordinate, the tiltingcoordinate, or the zooming coordinate held in the image capturing rangechanging command is specification information for specifying the imagecapturing direction in the coordinate system held in the memory 1002.The image capturing range changing command may not necessarily includeall the pieces of specification information of the panning coordinate,the tilting coordinate, and the zooming coordinate. The image capturingrange changing command may only need to include at least one piece ofspecification information.

Also, the specification information is not limited to that forspecifying the absolute position of the panning coordinate, the tiltingcoordinate, or the zooming coordinate. The specification information maybe information for representing a relative position of the imagecapturing direction after movement, with respect to the current imagecapturing direction, by using the coordinate system. For example, thespecification information may be information of the direction ofmovement and the amount of movement from the current position in thecoordinate system. Even in this way, the image capturing direction inthe coordinate system can be specified. Accordingly, a user can give aninstruction, such as “From the current position, move the imagecapturing direction by +0.5 in the panning direction”, by using theclient 3000.

Further, the specification information is not limited to theabove-described case in which normalized values are used. For example,the panning coordinate or the tilting coordinate may be the angle ofmovement from a reference position (such as the panning end or thetilting end) in the movable range of the panning drive mechanism 1101 orthe tilting drive mechanism 1102. Also, the value of zoomingmagnification or focal length may be used as the zooming coordinate.

Next, an example of the image orientation changing command will bedescribed using FIG. 5B. Using the image orientation changing command,the client 3000 rotates the orientation of a captured image distributedby the image pickup apparatus 1000 by a certain angle (180 degrees inthe present embodiment). The image pickup apparatus 1000 is capable ofrotating the orientation of a captured image, with the point ofintersection of diagonals of the captured image being the center ofrotation. An argument of the image orientation changing command is animage orientation. In the present embodiment, OFF indicates a normalorientation, and ON indicates an inverted orientation. The normalorientation and the inverted orientation of a captured image will bedescribed using FIG. 6.

In FIG. 6, a captured image 1070 is a captured image obtained by theimage pickup unit 1003 of the image pickup apparatus 1000. A capturedimage 1071 indicates a captured image distributed to the client 3000when OFF (normal orientation) is specified by the image orientationchanging command illustrated in FIG. 5B. When OFF (normal orientation)is specified by the image orientation changing command, the image pickupapparatus 1000 sends the captured image 1071, whose image orientation isthe same as that of the captured image 1070, to the client 3000. Also, acaptured image 1072 indicates a captured image distributed to the client3000 when ON (inverted orientation) is specified by the imageorientation changing command illustrated in FIG. 5B. When ON (invertedorientation) is specified by the image orientation changing command, theimage pickup apparatus 1000 in the present embodiment sends the capturedimage 1072, whose top/bottom and left/right are inverted from thecaptured image 1070, to the client 3000.

In this manner, when the image orientation changing command illustratedin FIG. 5B is received, the image pickup apparatus 1000 rotates acaptured image being obtained by the image pickup unit 1003 by a certainangle (180-degree inversion in the present embodiment), and sends therotated captured image to the client 3000.

Next, an example of the coordinate orientation changing command will bedescribed using FIG. 5C. Using the coordinate orientation changingcommand, the client 3000 is capable of rotating the coordinate system,held in the memory 1002, about the origin by a certain angle (180degrees in the present embodiment). Using the coordinate orientationchanging command, the client 3000 is capable of rotating the orientationof the coordinate system by the same angle as that by which a capturedimage can be rotated in response to the above-described imageorientation changing command. When the image pickup apparatus 1000receives the coordinate orientation changing command, the image pickupapparatus 1000 rotates the orientation of the coordinate system by, forexample, the origin of the coordinate system. An argument of thecoordinate orientation changing command is a coordinate orientation. OFFindicates a normal orientation, and ON indicates an invertedorientation. The normal orientation and the inverted orientation of thecoordinate orientation will be described using FIG. 7.

In FIG. 7, coordinates 1080 indicate the image capturable range of theimage pickup unit 1003 of the image pickup apparatus 1000. At thecoordinates 1080, as has been described above, the ranges of the panningcoordinate and the tilting coordinate are normalized from −1.0 to +1.0.An image capturing range 1081 indicates the image capturing range of theimage pickup unit 1003 at present in the image capturable range. At thecoordinates 1080, the panning coordinate, the tilting coordinate, andthe zooming coordinate are set to (0.0, 0.0, 1.0), respectively.

Coordinates 1082 and coordinates 1083 each indicate the case in which,in response to the image capturing range changing command illustrated inFIG. 5A, the panning coordinate, the tilting coordinate, and the zoomingcoordinate of the image capturing range 1081 are changed to (0.3, −0.2,1.0), respectively.

The coordinates 1082 indicate the image capturing range in the case inwhich the normal coordinate orientation is selected as the argument ofthe coordinate orientation changing command illustrated in FIG. 5C. Whenthe normal coordinate orientation is selected as the argument of thecoordinate orientation changing command, the image pickup apparatus 1000holds the coordinate system with the same orientation as that of thecoordinates 1080.

In contrast, the coordinates 1083 indicate the image capturing range1081 in the case in which the inverted coordinate orientation isselected as the argument of the coordinate orientation changing commandillustrated in FIG. 5C. When the inverted coordinate orientation isselected as the argument of the coordinate orientation changing command,the image pickup apparatus 1000 rotates the coordinate system of thecoordinates 1080 (180-degree inversion in the present embodiment).

With respect to the coordinates 1082, the coordinates 1083 are such thatthe coordinate system indicating the image capturable range has beenrotated (180-degree inverted). Therefore, at the coordinates 1082 andthe coordinates 1083, when the panning coordinate, the tiltingcoordinate, and the zooming coordinate of the image capturing range 1081are changed to (0.3, −0.2, 1.0), the position of the image capturingrange 1081 in which the image pickup apparatus 1000 captures an image inthe image capturable range is different.

Next, the operation of the image pickup apparatus 1000 according to thepresent embodiment will be described using the flowcharts illustrated inFIG. 3 and FIGS. 4A to 4D. In a configuration in which the control unit1001 of the image pickup apparatus 1000 includes a processor, theprocessing flow illustrated in FIG. 3 and FIGS. 4A to 4D indicates aprogram for causing the control unit 1001 to execute proceduresillustrated in FIG. 3 and FIGS. 4A to 4D. The processor included in thecontrol unit 1001 of the image pickup apparatus 1000 is a computer, andthe processor executes a program read from the built-in memory 1002included in the image pickup apparatus 1000.

A main process executed by the image pickup apparatus 1000 will bedescribed using FIG. 3. At first, the control unit 1001 waits for anevent (S1100). In the present embodiment, the image pickup apparatus1000 determines that there is an event when an event of image obtaining,reception of the image capturing range changing command, reception ofthe image orientation changing command, reception of the coordinateorientation changing command, or automatic command timeout occurs.

When an image obtaining event occurs, the image pickup apparatus 1000executes processing in steps S1101 to S1102. Here, an image obtainingevent is an event that occurs when the image pickup apparatus 1000receives, from the client 3000, an image obtaining request for obtaininga captured image obtained by the image pickup apparatus 1000.

When an image obtaining event occurs, the control unit 1001 of the imagepickup apparatus 1000 executes a distribution image generating process(S1101). The details of the distribution image generating process willbe described later using FIG. 4A.

When the distribution image generating process is completed, the controlunit 1001 executes a sending process (S1102). In the sending process,the control unit 1001 sends a distribution image generated in thedistribution image generating process in step S1101 via thecommunication unit 1004 to the client 3000 requesting video distributionfrom the image pickup apparatus 1000. After executing the sendingprocess, the control unit 1001 returns to step S1100 and executesprocessing.

Alternatively, when the control unit 1001 of the image pickup apparatus1000 receives, from the client 3000, the image capturing range changingcommand illustrated in FIG. 5A, the control unit 1001 executes an imagecapturing range changing process described later using FIG. 4B (S1110).

Alternatively, when the control unit 1001 receives, from the client3000, the image orientation changing command illustrated in FIG. 5B, thecontrol unit 1001 executes an image orientation changing processdescribed later using FIG. 4C (S1120).

Alternatively, when the control unit 1001 receives, from the client3000, the coordinate orientation changing command illustrated in FIG.5C, the control unit 1001 executes a coordinate orientation changingprocess described later using FIG. 4D (S1130).

Alternatively, when a certain time period has elapsed since informationindicating that an automatic image orientation changing process or anautomatic coordinate orientation changing process described using FIG.4C or FIG. 4D is being executed has been held in the memory 1002, thecontrol unit 1001 executes an automatic changing process timeout processdescribed later (S1140). Alternatively, the control unit 1001 mayexecute the automatic changing process timeout process described laterwhen a certain time period has elapsed since reception of the imageorientation changing command or the coordinate orientation changingcommand.

When the processing in step S1110, step S1120, step S1130, or step S1140ends, the control unit 1001 returns to step S1100 and executesprocessing.

Next, the distribution image generating process in step S1101 will bedescribed using FIG. 4A. The control unit 1001 refers to the memory1002, and determines an image orientation parameter (S1200). When theimage orientation parameter is ON (Yes in S1200), the control unit 1001inverts (180-degree rotation) the captured image, as indicated by thecaptured image 1072 illustrated in FIG. 6, overwrites the captured imagestored in the memory 1002, and ends the distribution image generatingprocess (S1201). When the image orientation parameter is OFF (No inS1200), the control unit 1001 does not execute the processing, and endsthe distribution image generating process.

Next, the image capturing range changing process in step S1110 will bedescribed using FIG. 4B. The control unit 1001 refers to the memory1002, and obtains a coordinate orientation parameter of the coordinateorientation changing command illustrated in FIG. 5C (S1300). Further,the control unit 1001 refers to the memory 1002, and obtains thearguments (panning coordinate, tilting coordinate, and zoomingcoordinate) of the image capturing range changing command illustrated inFIG. 5A (S1301).

The control unit 1001 inputs the obtained coordinate orientationparameter, and the panning coordinate, tilting coordinate, and zoomingcoordinate to the image pickup control unit 1006 (S1302). Accordingly,when the coordinate orientation parameter is ON (inverted orientation),the image pickup control unit 1006 inverts the coordinate system, as inthe coordinates 1083 illustrated in FIG. 7, and operates the imagecapturing direction of the image pickup unit 1003. In contrast, when thecoordinate orientation parameter is OFF (normal orientation), the imagepickup control unit 1006 does not invert the coordinate system, as inthe coordinates 1082 illustrated in FIG. 7, and operates the imagecapturing direction of the image pickup unit 1003. In the above manner,the control unit 1001 ends the image capturing range changing process.

Next, the image orientation changing process in step S1120 will bedescribed using FIG. 4C. At first, the control unit 1001 refers to thememory 1002 and determines whether the automatic image orientationchanging process is being executed (S1400). Here, the automatic imageorientation changing process is a process in which the control unit 1001automatically executes the image orientation changing command,regardless of the image orientation changing command received by thecommunication unit 1004. When the communication unit 1004 receives thecoordinate orientation changing command, the automatic image orientationchanging process is executed prior to reception of the image orientationchanging command. The details of the automatic image orientationchanging process will be described later using FIG. 4D.

When the automatic image orientation changing process is not beingexecuted (No in S1400), the control unit 1001 reads the argument of thereceived image orientation changing command, and changes the imageorientation parameter in the memory 1002. Further, the control unit 1001executes the automatic coordinate orientation changing process (S1401).

Here, the automatic coordinate orientation changing process is a processin which the control unit 1001 automatically executes the coordinateorientation changing command, regardless of the coordinate orientationchanging command received by the communication unit 1004. When thecommunication unit 1004 receives the image orientation changing command,the automatic coordinate orientation changing process is executed priorto reception of the coordinate orientation changing command.

In the automatic coordinate orientation changing process, the controlunit 1001 executes a command for automatically rotating the orientationof the coordinate system by the same angle as that by which the capturedimage can be rotated in response to the image orientation changingcommand. That is, the control unit 1001 executes the received imageorientation changing command, and automatically executes the coordinateorientation changing command in step S1401.

When the automatic coordinate orientation changing process is started instep S1401, the control unit 1001 holds, in the memory 1002, informationindicating that the automatic coordinate orientation changing process isbeing executed. Information indicating that the automatic coordinateorientation changing process is being executed is such that, forexample, setting an automatic coordinate orientation changing processflag indicates that the automatic coordinate orientation changingprocess is being executed, and unsetting the flag indicates that theprocess is not being executed. A method of holding the informationindicating that the automatic coordinate orientation changing process isbeing executed is not limited to this. Any information can be used aslong as the control unit 1001 is capable of determining whether theautomatic coordinate orientation changing process is being executed.

When the automatic coordinate orientation changing process is started,the control unit 1001 uses the timing unit 1005 and activates a timer(S1402). The timer is a timer for continuing a state in which thecoordinate orientation parameter has been changed by the automaticcoordinate orientation changing process, for a certain time period afterthe start of the automatic coordinate orientation changing process. Atimer value of the timer may be set in advance by a user, and may beabout a few hundred milliseconds to about a few seconds. Upon activationof the timer, the control unit 1001 ends the image orientation changingprocess.

Alternatively, the timer may be activated at a point at which thecommunication unit 1004 receives the image orientation changing command,instead of at a point at which the automatic coordinate orientationchanging process is started. In this way, a state in which thecoordinate orientation parameter has been changed by the automaticcoordinate orientation changing process can be continued for a certaintime period after the reception of the command.

Accordingly, when the communication unit 1004 receives the imageorientation changing command, the control unit 1001 executes control toexecute the image orientation changing command and the coordinateorientation changing command prior to reception of the coordinateorientation changing command. The image orientation changing command isthe command received by the communication unit 1004. Also, thecoordinate orientation changing command is a command executed when thecontrol unit 1001 executes the automatic coordinate orientation changingprocess.

Accordingly, the image pickup apparatus 1000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 1083 illustrated in FIG.7). Thus, the image pickup apparatus 1000 can output the captured imagein a state in which the image orientation (normal orientation/invertedorientation) and the coordinate orientation (normal orientation/invertedorientation) match each other, and change the image capturing range. Inthis manner, the inconsistency between the coordinate orientation(normal orientation/inverted orientation) and the image orientation(normal orientation/inverted orientation) of the captured image, whichis caused by changing only the image orientation (captured image 1072illustrated in FIG. 6) while keeping the coordinate orientationunchanged (coordinates 1082 illustrated in FIG. 7), can be prevented.

In contrast, when the automatic image orientation changing process isbeing executed (Yes in S1400), the control unit 1001 deletes the timer(S1410). The timer is a timer activated in step S1502 described later.The timer is a timer for measuring how much time has elapsed in acertain time period for continuing a state in which the imageorientation parameter has been changed by the automatic imageorientation changing process.

After the timer is deleted, the control unit 1001 reads the argument ofthe received image orientation changing command, and changes the imageorientation parameter in the memory 1002. Also, the control unit 1001ends the automatic image orientation changing process (S1411). Here,ending the automatic image orientation changing process means rotatingthe orientation of the captured image so that the image orientationparameter, which has been changed by the automatic image orientationchanging process, is restored to a state before execution of theautomatic image orientation changing process.

That is, the control unit 1001 rotates the captured image by an anglecommanded by the received image orientation changing command, from astate before execution of the automatic image orientation changingprocess, by executing processing in step S1411. When the processing instep S1411 is completed, the control unit 1001 ends the imageorientation changing process.

As has been described above, the automatic image orientation changingprocess is a process executed after the communication unit 1004 receivesthe coordinate orientation changing command. That is, when the automaticimage orientation changing process is being executed (Yes in S1400), thestate is such that the communication unit 1004 has already received thecoordinate orientation changing command, and the command is alreadybeing executed. In such a state, by executing processing in step S1411,the control unit 1001 can execute the image orientation changingcommand, received by the communication unit 1004, and the coordinateorientation changing command, received by the communication unit 1004.

When the control unit 1001 receives the image orientation changingcommand while the automatic image orientation changing process is beingexecuted as above, the control unit 1001 ends the automatic imageorientation changing process, and executes the image orientationchanging command and the coordinate orientation changing command.Accordingly, the image pickup apparatus 1000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 1083 illustrated in FIG.7). Thus, the captured image can be output in a state in which the imageorientation (normal orientation/inverted orientation) and the coordinateorientation (normal orientation/inverted orientation) match each other,and the image capturing range can be changed.

In this manner, the image pickup apparatus 1000 can execute the imageorientation changing command while controlling the image capturingdirection and the coordinate orientation to always match each other.

Next, the coordinate orientation changing process in step S1130 will bedescribed using FIG. 4D.

At first, the control unit 1001 refers to the memory 1002, anddetermines whether the automatic coordinate orientation changing processis being executed (S1500). Here, the automatic coordinate orientationchanging process is a process in which the control unit 1001automatically executes the coordinate orientation changing command,regardless of the coordinate orientation changing command received bythe communication unit 1004. When the communication unit 1004 receivesthe image orientation changing command, the automatic coordinateorientation changing process is executed prior to reception of thecoordinate orientation changing command.

When the automatic coordinate orientation changing process is not beingexecuted (No in S1500), the control unit 1001 reads the argument of thecoordinate orientation changing command received by the communicationunit 1004, and changes the coordinate orientation parameter in thememory 1002. Further, the control unit 1001 executes the above-describedautomatic image orientation changing process (S1501).

In the automatic image orientation changing process, the control unit1001 executes a command for automatically rotating the orientation ofthe captured image by the same angle as that by which the coordinatesystem can be rotated in response to the coordinate orientation changingcommand. That is, the control unit 1001 executes the received coordinateorientation changing command, and automatically executes the imageorientation changing command in step S1501.

When the automatic image orientation changing process is started in stepS1501, the control unit 1001 holds, in the memory 1002, informationindicating that the automatic image orientation changing process isbeing executed. Information indicating that the automatic imageorientation changing process is being executed is such that, forexample, setting an automatic image orientation changing process flagindicates that the automatic image orientation changing process is beingexecuted, and unsetting the flag indicates that the process is not beingexecuted. A method of holding the information indicating that theautomatic image orientation changing process is being executed is notlimited to this. Any information can be used as long as the control unit1001 is capable of determining whether the automatic image changingprocess is being executed.

The control unit 1001 uses the timing unit 1005 and activates a timer(S1502). The timer is a timer for continuing a state in which the imageorientation parameter has been changed by the automatic imageorientation changing process, for a certain time period after the startof the automatic image orientation changing process. A timer value ofthe timer may be set in advance by a user, and may be about a fewhundred milliseconds to about a few seconds. Upon activation of thetimer, the control unit 1001 ends the coordinate orientation changingprocess.

Alternatively, the timer may be activated at a point at which thecommunication unit 1004 receives the coordinate orientation changingcommand, instead of at a point at which the automatic image orientationchanging process is started. In this way, a state in which the imageorientation parameter has been changed by the automatic imageorientation changing process can be continued for a certain time periodafter the reception of the command.

Accordingly, when the communication unit 1004 receives the coordinateorientation changing command, the control unit 1001 executes control toexecute the coordinate orientation changing command and the imageorientation changing command prior to reception of the image orientationchanging command. The coordinate orientation changing command is thecommand received by the communication unit 1004. Also, the imageorientation changing command is a command executed when the control unit1001 executes the automatic image orientation changing process.

Accordingly, the image pickup apparatus 1000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 1083 illustrated in FIG.7). Thus, the image pickup apparatus 1000 can output the captured imagein a state in which the image orientation (normal orientation/invertedorientation) and the coordinate orientation (normal orientation/invertedorientation) match each other, and change the image capturing range. Inthis manner, the inconsistency between the image orientation (normalorientation/inverted orientation) of the captured image and thecoordinate orientation (normal orientation/inverted orientation), whichis caused by changing only the coordinate orientation (coordinates 1083illustrated in FIG. 7) while keeping the image orientation unchanged(captured image 1071 illustrated in FIG. 6), can be prevented.

In contrast, when the automatic coordinate orientation changing processis being executed (Yes in S1500), the control unit 1001 deletes thetimer (S1510). The timer is a timer activated in step S1402 in FIG. 4Cdescribed above. The timer is a timer for continuing a state in whichthe coordinate orientation parameter has been changed by the automaticcoordinate orientation changing process.

The control unit 1001 reads the argument of the received coordinateorientation changing command, and changes the coordinate orientationparameter in the memory 1002. Also, the control unit 1001 ends theautomatic coordinate orientation changing process (S1511). Here, endingthe automatic coordinate orientation changing process means rotating theorientation of the coordinate system so that the coordinate orientationparameter, which has been changed by the automatic coordinateorientation changing process, is restored to a state before theexecution of the automatic coordinate orientation changing process.

That is, the control unit 1001 rotates the coordinates by an anglecommanded by the received coordinate orientation changing command, froma state before the execution of the automatic coordinate orientationchanging process, by executing processing in step S1511. When theprocessing in step S1511 is completed, the control unit 1001 ends thecoordinate orientation changing process.

As has been described above, the automatic coordinate orientationchanging process is a process executed after the communication unit 1004receives the image orientation changing command. That is, when theautomatic coordinate orientation changing process is being executed (Yesin S1500), the state is such that the communication unit 1004 hasalready received the image orientation changing command, and the commandis already being executed. In such a state, by executing processing instep S1511, the control unit 1001 can execute the coordinate orientationchanging command, received by the communication unit 1004, and the imageorientation changing command, received by the communication unit 1004.

When the control unit 1001 receives the coordinate orientation changingcommand while the automatic coordinate orientation changing process isbeing executed as above, the control unit 1001 ends the automaticcoordinate orientation changing process, and executes the coordinateorientation changing command and the image orientation changing command.Accordingly, the image pickup apparatus 1000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 1083 illustrated in FIG.7). Thus, the captured image can be output in a state in which the imageorientation (normal orientation/inverted orientation) and the coordinateorientation (normal orientation/inverted orientation) match each other,and the image capturing range can be changed.

In this manner, the image pickup apparatus 1000 can execute thecoordinate orientation changing command while controlling the imagecapturing direction and the coordinate orientation to always match eachother.

Next, the automatic changing process timeout process in step S1140 inFIG. 3 will be described. The automatic changing process timeout processis a process executed when a certain time period has elapsed since theexecution of one of the automatic coordinate orientation changingprocess and the automatic image orientation changing process. Whetherthe certain time period has elapsed is determined using the timeractivated in step S1402 in FIG. 4C or in step S1502 in FIG. 4D.

Alternatively, the automatic changing process timeout process may beexecuted when a certain time period has elapsed since the reception ofone of the coordinate orientation changing command and the imageorientation changing command. In this case, the timer may start countingat a point at which the coordinate orientation changing command or theimage orientation changing command is received.

In the automatic changing process timeout process, the control unit 1001ends the automatic coordinate orientation changing process or theautomatic image orientation changing process. The control unit 1001deletes the information in the memory 1002, which indicates that theautomatic coordinate orientation changing process or the automatic imageorientation changing process is being executed.

Further, in the automatic changing process timeout process, the controlunit 1001 ends the execution of the image orientation changing commandor the coordinate orientation changing command received by thecommunication unit 1004.

Even after the certain time period has elapsed since the reception ofone of the image orientation changing command and the coordinateorientation changing command, if the other command is not received, thecontrol unit 1001 rotates the image orientation or the coordinateorientation to be restored to a state before the reception of thereceived command (state before the execution of the image orientationchanging command and the coordinate orientation changing command). Thus,because execution of only one of the image orientation changing commandand the coordinate orientation changing command does not occur, theinconsistency between the orientation (normal orientation/invertedorientation) of the coordinate system of the image pickup apparatus 1000and the image orientation (normal orientation/inverted orientation) ofthe captured image can be prevented.

In this manner, the image pickup apparatus 1000 can execute thecoordinate orientation changing command while controlling the imagecapturing direction and the coordinate orientation to always match eachother.

The image pickup apparatus 1000 according to the present embodiment canprevent a state in which only one of the image orientation and thecoordinate orientation is changed. Accordingly, when the user changesthe image capturing range while looking at the captured imagedistributed from the image pickup apparatus 1000, the orientation of thedistributed captured image and the orientation in a command for changingthe image capturing range are controlled to match each other. Thus,changes in the image capturing range in accordance with the user'sintention can be realized.

Also in the automatic changing process timeout process, even after thecertain time period has elapsed since the execution of one of theautomatic image orientation changing command and the automaticcoordinate orientation changing command, if the other command is notreceived, the control unit 1001 may end the automatic coordinateorientation changing command or the automatic image orientation changingcommand. Alternatively, in the automatic changing process timeoutprocess, even after the certain time period has elapsed since thecommunication unit 1004 receives one of the image orientation changingcommand and the coordinate orientation changing command, if the othercommand is not received, the control unit 1001 may end the automaticcoordinate orientation changing command or the automatic imageorientation changing command.

In this way, when the user wants to execute one of the image orientationchanging command and the coordinate orientation changing command, thecommand can be executed after the certain time period has elapsed sincethe reception of the command. Alternatively, when the user wants toexecute both of the image orientation changing command and thecoordinate orientation changing command, the inconsistency between theorientation of the coordinate system of the image pickup apparatus 1000and the image orientation of the captured image can be prevented in aperiod from reception of one command to reception of the other command.

In addition, in response to each of the commands illustrated in FIGS. 5Ato 5C described in the first embodiment, a normal response or an errorresponse may be sent to the client at the requesting source. That is,when the image pickup apparatus 1000 normally executes a command fromthe client 3000, the image pickup apparatus 1000 sends a normal responseto the client 3000 at the source requesting the command. Alternatively,when the image pickup apparatus 1000 does not normally execute a commandfrom the client 3000, the image pickup apparatus 1000 sends an errorresponse to the client 3000 at the source requesting the command. Inthis way, the client can more easily understand the processing resultand processing timing of each command.

While one of the image orientation changing command and the coordinateorientation changing command is being executed, when the same command isconsecutively received, an error response may be sent to these commands.In this way, when the communication unit 1004 consecutively receives oneof the image orientation changing command and the coordinate orientationchanging command, the control unit 1001 can execute control to executeonly the firstly received command.

Also in the present embodiment, the case in which the image orientationchanging command and the coordinate orientation changing command areseparately defined has been described. In addition to these commands, acommand for changing both of the image orientation and the coordinateorientation, such as that illustrated in FIG. 5D, may be defined.

Second Embodiment

In a second embodiment, the case in which the present invention isapplied to an image pickup apparatus 2000 with the so-called digital PTZ(Pan Tilt Zoom) function, which changes a captured image displayed on aclient by changing a region for trimming the captured image, will bedescribed.

Also, in the second embodiment, the case in which plural clients 3000are connected to the image pickup apparatus 2000 via the network 3020will be described.

Further, in the second embodiment, an example will be described inwhich, in response to commands from the clients 3000, normal responsesindicating that the commands are normally executed or error responsesindicating that the commands are not executed are given.

FIG. 1C illustrates an image pickup apparatus 2000 according to thesecond embodiment. The image pickup apparatus 2000 according to thepresent embodiment does not include the panning drive mechanism 1101,the tilting drive mechanism 1102, and the zooming mechanism 1103.

Next, the internal configuration of the image pickup apparatus 2000 willbe described using FIG. 2B.

The memory 1002 of the image pickup apparatus 2000 holds informationindicating that the control unit 1001 has executed the automaticcoordinate orientation changing process or the automatic imageorientation changing process, as in the first embodiment. Further, inthe present embodiment, the memory 1002 holds information indicatingwhich of the plural clients connected to the network 3020 has given acommand, in response to which the automatic coordinate orientationchanging process or the automatic image orientation changing command hasbeen executed.

Compared with the image pickup apparatus 1000 according to the firstembodiment, the image pickup apparatus 2000 does not include the imagepickup control unit 1006. The control unit 1001 of the image pickupapparatus 2000 generates a cut-out captured image by cutting out aportion of a captured image obtained by the image pickup unit 1003, andsends the cut-out captured image to the client 3000 via thecommunication unit 1004.

The image pickup apparatus 2000 according to the second embodimentreceives, as a trimming parameter, an instruction for the cut-outposition of the captured image from the client 3000. The trimmingparameter is a parameter for specifying a portion to be trimmed from thecaptured image generated by the image pickup unit 1003 and to bedistributed to the client. The trimming parameter includes two points(x1, y1) and (x2, y2) represented by the X-coordinates indicating thehorizontal direction of the captured image and the Y-coordinatesindicating the vertical direction of the captured image. A rectanglehaving these two points as opposite angles indicates the range to betrimmed.

Further, the image pickup apparatus 2000 according to the secondembodiment can receive an image coordinate orientation changing commandfrom the client 3000. FIG. 5D illustrates an example of the imagecoordinate orientation changing command. Using the image coordinateorientation changing command, the client 3000 can change the orientationof the captured image distributed by the image pickup apparatus 2000,together with the orientation of the coordinates of the image capturablerange. The details of changing the image orientation and changing thecoordinate orientation are the same as or similar to the contentsdescribed using FIGS. 5B and 5C in the first embodiment, and adescription thereof will be omitted.

In the second embodiment, when the image pickup apparatus 2000 normallyprocesses a command from the client 3000, the image pickup apparatus2000 sends a normal response to the client 3000 at the source requestingthe command. Alternatively, when the image pickup apparatus 2000 doesnot normally process a command from the client 3000, the image pickupapparatus 2000 sends an error response to the client 3000 at the sourcerequesting the command. FIG. 5E illustrates an example of the normalresponse. FIG. 5F illustrates an example of the error response.

Next, the operation of the image pickup apparatus 2000 according to thesecond embodiment will be described using the flowcharts illustrated inFIG. 8 and FIGS. 9A to 9C. In the configuration in which the controlunit 1001 of the image pickup apparatus 2000 includes the processor, theprocessing flow illustrated in FIG. 8 and FIGS. 9A to 9C indicates aprogram for causing the control unit 1001 to execute proceduresillustrated in FIG. 8 and FIGS. 9A to 9C. The processor included in thecontrol unit 1001 of the image pickup apparatus 2000 is a computer, andthe processor executes a program read from the built-in memory 1002included in the image pickup apparatus 2000. Alternatively, theprocesses illustrated in FIG. 8 and FIGS. 9A to 9C may be executed byhardware.

A main process executed by the image pickup apparatus 2000 will bedescribed using FIG. 8. At first, the control unit 1001 waits for anevent (S2100). In the present embodiment, the image pickup apparatus2000 determines that there is an event when an event of reception of theimage coordinate orientation changing command occurs, besides an eventof image obtaining, reception of the image capturing range changingcommand, reception of the image orientation changing command, receptionof the coordinate orientation changing command, or automatic changingprocess timeout occurs.

When an image obtaining event occurs, the control unit 1001 of the imagepickup apparatus 2000 executes a distribution image generating process(S2101). Regarding the distribution image generating process accordingto the present embodiment, a point different from the process describedusing FIG. 4A in the first embodiment will be described. In the presentembodiment, in the distribution image generating process, when the imageorientation parameter is OFF (normal orientation) (No in step S1200 inFIG. 4A), the control unit 1001 trims the captured image in accordancewith the trimming parameter. Here, trimming means cutting out a capturedimage in a region specified by the trimming parameter, from the imagecapturing range of the image pickup unit 1003.

Alternatively, when the image orientation parameter is ON (invertedorientation) (Yes in S1200), the control unit 1001 changes the imageorientation in accordance with the image orientation parameter in stepS1201 illustrated in FIG. 4A, and then trims the captured image inaccordance with the trimming parameter. After trimming the capturedimage, the control unit 1001 overwrites the captured image stored in thememory 1002 with the trimmed captured image, and ends the distributionimage generating process.

When the distribution image generating process ends, the control unit1001 executes a sending process (S2102). In the sending process, thecontrol unit 1001 sends, via the communication unit 1004, thedistribution image, trimmed in the distribution image generating processin step S2101, to the client 3000 requesting video distribution from theimage pickup apparatus 2000. After executing the sending process, thecontrol unit 1001 returns to step S2100 and executes processing.

Alternatively, when the control unit 1001 receives the image capturingrange changing command from the client 3000, the control unit 1001executes an image capturing range changing process (S2110). In thepresent embodiment, the image capturing range changing command is usedto change the range for cutting out an image in the image capturingrange. Regarding the image capturing range changing process in thepresent embodiment, a point different from the process described usingFIG. 4B in the first embodiment will be described. In the imagecapturing range changing process, after the control unit 1001 accordingto the present embodiment executes processing in step S1300 and stepS1301 illustrated in FIG. 4B, the control unit 1001 calculates atrimming parameter in step S1302 in FIG. 4B. That is, when the obtainedcoordinate orientation parameter is ON (inverted orientation), thecontrol unit 1001 inverts the coordinate system, as in the coordinates1083 illustrated in FIG. 7, and determines the trimming range. Incontrast, when the obtained coordinate orientation parameter is OFF(normal orientation), the control unit 1001 does not invert thecoordinate system, as in the coordinates 1082 illustrated in FIG. 7, anddetermines the trimming range.

Then, the control unit 1001 in the present embodiment obtains theposition of the trimming range at the coordinates in units of pixels.Coordinates 2082 and coordinates 2083 illustrated in FIG. 7 arecoordinates having the lower-left vertex as the origin and beingrepresented by the X coordinates and the Y coordinates in units ofpixels. As indicated at the coordinates 2082 and the coordinates 2083illustrated in FIG. 7, the control unit 1001 calculates, as a trimmingparameter, two pixel-coordinate points (x1, y1) and (x2, y2) on thecaptured image, corresponding to two vertices defining the oppositeangles of the determined trimming range. The control unit 1001 storesthe calculated trimming parameter in the memory 1002. The control unit1001 ends the image capturing range changing process.

Alternatively, when the control unit 1001 according to presentembodiment receives the image orientation changing command from theclient 3000, the control unit 1001 executes an image orientationchanging process described later using FIG. 9A (S2120).

Alternatively, when the control unit 1001 according to the presentembodiment receives the coordinate orientation changing command from theclient 3000, the control unit 1001 executes a coordinate orientationchanging process described later using FIG. 9B (S2130).

Alternatively, when a certain time period elapses after execution of oneof the automatic image orientation changing process and the automaticcoordinate orientation changing process, the control unit 1001 accordingto the present embodiment executes an automatic changing process timeoutprocess (S2140). Alternatively, the control unit 1001 may execute theautomatic changing process timeout process, when a certain time periodelapses after execution of one of the image orientation changing commandand the coordinate orientation changing command.

Alternatively, when the control unit 1001 according to the presentembodiment receives the image coordinate orientation changing commandillustrated in FIG. 5D from the client 3000, the control unit 1001executes an image coordinate orientation changing process describedlater using FIG. 9C (S2111). After ending the processing in step S2111,the control unit 1001 returns to step S2100 and executes processing.

Next, the image orientation changing process in step S2120 will bedescribed using FIG. 9A. At first, the control unit 1001 refers to thememory 1002 and determines whether the automatic image orientationchanging process is being executed in response to the coordinateorientation changing command received from the client 3000 that has sentthe image orientation changing command (S2400).

Here, the automatic image orientation changing process is, as has beendescribed in the first embodiment, a process executed, prior toreception of the image orientation changing command, when thecommunication unit 1004 receives the coordinate orientation changingcommand. That is, when the automatic image orientation changing processis being executed, the communication unit 1004 has already received thecoordinate orientation changing command. When the automatic imageorientation changing process is not being executed, the communicationunit 1004 has not received the coordinate orientation changing command.

Determination in step S2400 is performed by referring to the memory1002. As in the first embodiment, the memory 1002 holds informationindicating whether the automatic image orientation changing process hasbeen executed. Further, the memory 1002 in the present embodiment holdsinformation indicating which of the plural clients connected to theimage pickup apparatus 2000 via the network 3020 has sent the coordinateorientation changing command, in response to which the automatic imageorientation changing process has been executed. When executing theautomatic image orientation changing process, the control unit 1001executes control to hold, in the memory 1002, information indicatingwhich of the clients has sent the coordinate orientation changingcommand, in response to which the automatic image orientation changingprocess is to be executed.

When the automatic image orientation changing process is not beingexecuted (No in S2400), the control unit 1001 executes processing instep S2401. That is, the control unit 1001 determines whether theautomatic coordinate orientation changing process is being executed inresponse to another image orientation changing command sent before theclient 3000, which has sent the image orientation changing command,sends the image orientation changing command (S2401).

Here, the automatic coordinate orientation changing process is, as hasbeen described in the first embodiment, a process executed, prior toreception of the coordinate orientation changing command, when thecommunication unit 1004 receives the image orientation changing command.That is, when the automatic coordinate orientation changing process isbeing executed, the communication unit 1004 has already received theimage orientation changing command. When the automatic coordinateorientation changing process is not being executed, the communicationunit 1004 has not received the image orientation changing command.

Determination in step S2401 is performed by referring to the memory1002. As in the first embodiment, the memory 1002 holds informationindicating whether the automatic coordinate orientation changing processhas been executed. Further, the memory 1002 in the present embodimentholds information indicating which of the plural clients connected tothe image pickup apparatus 2000 via the network 3020 has sent the imageorientation changing command, in response to which the automaticcoordinate orientation changing process has been executed. Whenexecuting the automatic coordinate orientation changing process, thecontrol unit 1001 executes control to hold, in the memory 1002,information indicating which of the clients has sent the imageorientation changing command, in response to which the automaticcoordinate orientation changing process is to be executed.

When the automatic coordinate orientation changing process is beingexecuted (Yes in S2401), the control unit 1001 sends an error responsein response to the currently-received image orientation changing command(S2420). That is, when the image orientation changing command hasalready been received from the client at the source of the imageorientation changing command currently received by the communicationunit 1004, the control unit 1001 sends an error response in response tothe currently-received image orientation changing command.

When the control unit 1001 consecutively receives the image orientationchanging commands as above, the control unit 1001 executes control toonly execute the firstly received image orientation changing command. Inthis way, the image pickup apparatus 2000 according to the presentembodiment can prevent overlapping execution of the image orientationchanging commands in response to the commands from the same client.

When the automatic coordinate orientation changing process is not beingexecuted (No in S2401), the control unit 1001 reads the argument of thereceived image orientation changing command, and changes the imageorientation parameter in the memory 1002. Further, the control unit 1001executes the automatic coordinate orientation changing process (S2402).

When the automatic coordinate orientation changing process is started instep S2402, the control unit 1001 holds, in the memory 1002, informationindicating that the automatic coordinate orientation changing processhas been executed (S2403). Information indicating that the automaticcoordinate orientation changing process is being executed can be held inthe memory 1002, as has been described in the first embodiment.

The control unit 1001 uses the timing unit 1005 and activates a timerfor the client which has sent the image orientation changing commandreceived this time (S2404).

Next, the control unit 1001 sends a normal response, in response to theimage orientation changing command executed in step S2402, to the clientwhich has sent the image orientation changing command (S2412).

When the control unit 1001 in the present embodiment receives the imageorientation changing command as above, the control unit 1001 executesthe image orientation changing command and the coordinate orientationchanging command prior to a coordinate orientation changing command fromthe client which has sent the image orientation changing command. Theimage orientation changing command is the image orientation changingcommand received by the communication unit 1004. Also, the coordinateorientation changing command is a command executed when the control unit1001 executes the automatic coordinate orientation changing process instep S2402.

Thus, the inconsistency between the coordinate orientation (normalorientation/inverted orientation) and the image orientation (normalorientation/inverted orientation) of the captured image, which is causedby changing only the image orientation (captured image 1072 illustratedin FIG. 6) while keeping the coordinate orientation unchanged(coordinates 2082 illustrated in FIG. 7), can be prevented.

In contrast, when the automatic image orientation changing process isbeing executed (Yes in S2400), the control unit 1001 deletes the timerfor the client which has sent the image orientation changing command(S2410).

The control unit 1001 reads the argument of the received imageorientation changing command, and changes the image orientationparameter in the memory 1002. Also, the control unit 1001 ends theautomatic image orientation changing process (S2411).

Next, the control unit 1001 sends a normal response, in response to theimage orientation changing command executed in step S2411, to the clientwhich has sent the image orientation changing command (S2412).

When the control unit 1001 receives the image orientation changingcommand while executing the automatic image orientation changingprocess, the control unit 1001 ends the automatic image orientationchanging process, and executes the image orientation changing commandand the coordinate orientation changing command. The image orientationchanging command is the image orientation changing command received bythe communication unit 1004. Also, the coordinate orientation changingcommand is the coordinate orientation changing command received by thecommunication unit 1004 prior to the execution of the automatic imageorientation changing process.

Accordingly, the image pickup apparatus 2000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 2083 illustrated in FIG.7). Thus, the captured image can be output in a state in which the imageorientation (normal orientation/inverted orientation) and the coordinateorientation (normal orientation/inverted orientation) match each other,and the image capturing range can be changed.

In this manner, the image pickup apparatus 2000 can execute the imageorientation changing command while controlling the image capturingdirection and the coordinate orientation to always match each other.

In the present embodiment, in steps S2400 and S2401, the control unit1001 determines whether the automatic image orientation changing processor the automatic coordinate orientation changing process is a processexecuted in response to a command from the client that has sent theimage orientation changing command. In this way, upon receipt of theimage orientation changing command from a client, prior to reception ofthe coordinate orientation changing command from the same client, theimage orientation changing command and the coordinate orientationchanging command can be executed. Accordingly, control to execute bothcommands while controlling the image orientation and the coordinateorientation to match each other can be executed for each client.

Alternatively, in steps S2400 and S2401, the control unit 1001 may notdetermine whether the command is a command from the client 3000 whichhas sent the image orientation changing command. In this case, when apair of commands is given to the image pickup apparatus 2000, withoutmaking a distinction among the clients, both commands are executed.Thus, even when plural clients give the image orientation changingcommand or the coordinate orientation changing command, the image pickupapparatus 2000 can execute both commands while controlling the imageorientation and the coordinate orientation to match each other.

Next, the coordinate orientation changing process in step S2130 will bedescribed using FIG. 9B. In the coordinate orientation changing process,a process that is the same as or similar to the above-described imageorientation changing process is performed.

At first, the control unit 1001 refers to the memory 1002, anddetermines whether the automatic coordinate orientation changing processis being executed in response to the image orientation changing commandreceived from the client 3000 which has sent the coordinate orientationchanging command (S2500).

When the automatic coordinate orientation changing process is not beingexecuted (No in S2500), the control unit 1001 determines whether theautomatic image orientation changing process is being executed (S2501).

When the automatic image orientation changing process is being executed(Yes in S2501), the control unit 1001 sends an error response inresponse to the currently-received coordinate orientation changingcommand (S2520). That is, when the communication unit 1004 has alreadyreceived the coordinate orientation changing command, the control unit1001 sends an error response in response to the currently-receivedcoordinate orientation changing command.

When the control unit 1001 consecutively receives the coordinateorientation changing commands as above, the control unit 1001 executescontrol to only execute the firstly received coordinate orientationchanging command. In this way, the image pickup apparatus 2000 accordingto the present embodiment can prevent overlapping execution of thecoordinate orientation changing commands.

When the automatic image orientation changing process is not beingexecuted (No in S2501), the control unit 1001 reads the argument of thereceived coordinate orientation changing command, and changes thecoordinate orientation parameter in the memory 1002. Further, thecontrol unit 1001 executes the automatic image orientation changingprocess (S2502).

The control unit 1001 uses the timing unit 1005 and activates a timerfor the client which has sent the coordinate orientation changingcommand received this time (S2504).

Next, the control unit 1001 sends a normal response, in response to thecoordinate orientation changing command executed in step S2502, to theclient which has sent the coordinate orientation changing command(S2512).

When the control unit 1001 in the present embodiment receives thecoordinate orientation changing command as above, prior to the imageorientation changing command from the client which has sent thecoordinate orientation changing command, the control unit 1001 executesthe coordinate orientation changing command and the image orientationchanging command. The coordinate orientation changing command is thecoordinate orientation changing command received by the communicationunit 1004. Also, the image orientation changing command is a commandexecuted when the control unit 1001 executes the automatic imageorientation changing process in step S2502.

Thus, the inconsistency between the coordinate orientation (normalorientation/inverted orientation) and the image orientation (normalorientation/inverted orientation) of the captured image, which is causedby changing only the coordinate orientation (coordinates 2083illustrated in FIG. 7) while keeping the image orientation unchanged(captured image 1071 illustrated in FIG. 6), can be prevented.

In contrast, when the automatic coordinate orientation changing processis being executed (Yes in S2500), the control unit 1001 deletes thetimer for the client which has sent the coordinate orientation changingcommand (S2510).

The control unit 1001 reads the argument of the received coordinateorientation changing command, and changes the coordinate orientationparameter in the memory 1002. Also, the control unit 1001 ends theautomatic coordinate orientation changing process (S2511).

Next, the control unit 1001 sends a normal response, in response to thecoordinate orientation changing command executed in step S2511, to theclient which has sent the coordinate orientation changing command(S2512).

When the control unit 1001 receives the coordinate orientation changingcommand while executing the automatic coordinate orientation changingprocess as above, the control unit 1001 ends the automatic coordinateorientation changing process, and executes the coordinate orientationchanging command and the image orientation changing command. Thecoordinate orientation changing command is the coordinate orientationchanging command received by the communication unit 1004. Also, theimage orientation changing command is the image orientation changingcommand received by the communication unit 1004 prior to the executionof the automatic coordinate orientation changing process.

Accordingly, the image pickup apparatus 2000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 2083 illustrated in FIG.7). Thus, the captured image can be output in a state in which the imageorientation (normal orientation/inverted orientation) and the coordinateorientation (normal orientation/inverted orientation) match each other,and the image capturing range can be changed.

In this manner, the image pickup apparatus 2000 can execute thecoordinate orientation changing command while controlling the imagecapturing direction and the coordinate orientation to always match eachother.

In the present embodiment, in steps S2500 and S2501, the control unit1001 determines whether the automatic image orientation changing processor the automatic coordinate orientation changing process is a processexecuted in response to a command from the client which has sent thecoordinate orientation changing command. In this way, upon receipt ofthe coordinate orientation changing command from a client, prior toreception of the image orientation changing command from the sameclient, the image orientation changing command and the coordinateorientation changing command can be executed. Accordingly, control toexecute both commands while controlling the image orientation and thecoordinate orientation to match each other can be executed for eachclient.

Alternatively, from when the communication unit 1004 receives, from afirst client, one of the image orientation changing command and thecoordinate orientation changing command to when the communication unit1004 receives, from the first client, the other one of the imageorientation changing command and the coordinate orientation changingcommand, the control unit 1001 may not execute the image orientationchanging command and the coordinate orientation changing commandreceived from a second client. That is, until a pair of the imageorientation changing command and the coordinate orientation changingcommand is received from a client, an error response may be sent inresponse to the image orientation changing client or the coordinateorientation changing command from another client.

In this way, the image pickup apparatus 2000 can be controlled withoutallowing a client that has sent one of the image orientation changingcommand and the coordinate orientation changing command to be influencedby a command from another client. Accordingly, the image orientation andthe coordinate orientation of the image pickup apparatus 2000 can becontrolled to always match each other.

Alternatively, in steps S2500 and S2501, the control unit 1001 may notdetermine whether the command is a command from the client which hassent the coordinate orientation changing command. In this case, when apair of commands is given to the image pickup apparatus 2000, withoutmaking a distinction among the clients, both commands are executed.Thus, even when the plural clients give the image orientation changingcommand or the coordinate orientation changing command, the image pickupapparatus 2000 can execute both commands while controlling the imageorientation and the coordinate orientation to match each other.

Next, the automatic changing process timeout process in step S2140 ofthe flow in FIG. 8 will be described. When timeout occurs, the controlunit 1001 can control the image orientation or the coordinateorientation to be restored to a state before the execution of theautomatic changing process (automatic image orientation changing processor automatic coordinate orientation changing process). That is, when theautomatic image orientation changing process has been executed, thecontrol unit 1001 rotates the image orientation of the cut-out capturedimage to be restored to a state before the execution of the automaticimage orientation changing process. Alternatively, when the automaticcoordinate orientation changing process has been executed, the controlunit 1001 rotates the coordinate orientation to be restored to a statebefore the execution of the automatic coordinate orientation changingprocess.

When the image orientation or the coordinate orientation is rotated tobe restored to a state before the execution of the automatic changingprocess, the control unit 1001 holds, in the memory 1002, informationindicating that the image orientation or the coordinate orientation isrestored to a sate before the execution of the automatic imageorientation changing process or the automatic coordinate orientationchanging process. For example, the control unit 1001 can unset the flagin the memory 1002, which has been set upon the execution of theautomatic image orientation changing process or the automatic coordinateorientation changing process.

In this way, even when the coordinate orientation and the imageorientation of the captured image become inconsistent with each otherdue to the execution of a command, the command from the client can beexecuted as instructed, after a certain time period has elapsed.

Alternatively, when timeout occurs, the control unit 1001 can executecontrol to rotate the image orientation of the cut-out captured imageand the coordinate orientation to be restored to a state before thecommunication unit 1004 receives the image orientation changing commandor the coordinate orientation changing command. That is, when thecommunication unit 1004 receives the image orientation changing commandand the control unit 1001 executes the image orientation changingcommand and the automatic coordinate orientation changing process inresponse thereto, the control unit 1001 rotates the captured image to berestored to a state before the execution of the image orientationchanging command. Further, the control unit 1001 rotates the coordinateorientation to be restored to a state before the execution of theautomatic coordinate orientation changing process. Alternatively, whenthe communication unit 1004 receives the coordinate orientation changingcommand and the control unit 1001 executes the coordinate orientationchanging command and the automatic image orientation changing process inresponse thereto, the control unit 1001 rotates the coordinateorientation to be restored to a state before the execution of thecoordinate orientation changing command. Further, the control unit 1001rotates the image orientation to be restored to a state before theexecution of the automatic image orientation changing process.

When the image orientation or the coordinate orientation is rotated tobe restored to a state before the execution of the automatic changingprocess, the control unit 1001 holds, in the memory 1002, informationindicating that the image orientation or the coordinate orientation isrestored to a state before the execution of the automatic imageorientation changing process or the automatic coordinate orientationchanging process.

Further, the control unit 1001 notifies a client that has sent the imageorientation changing command or the coordinate orientation changingcommand of the fact that the image orientation or the coordinateorientation of the cut-out captured image is restored to a state beforethe execution of the image orientation changing command or thecoordinate orientation changing command.

In this way, execution of only one of the coordinate orientationchanging command and the image orientation changing command does notoccur. Therefore, the inconsistency between the coordinate orientationand the image orientation can be prevented.

As above, when no image orientation changing command is received evenwhen a certain time period has elapsed since the execution of theautomatic image orientation changing process, the control unit 1001 canrotate the captured image and the coordinate system to be restored to astate before the execution of the coordinate orientation changingcommand, which is received by the communication unit 1004, and theautomatic image orientation changing process.

Similarly, when no coordinate orientation changing command is receivedeven when a certain time period has elapsed since the execution of theautomatic coordinate orientation changing process, the control unit 1001can rotate the captured image and the coordinate system to be restoredto a state before the execution of the image orientation changingcommand, which is received by the communication unit 1004, and theautomatic coordinate orientation changing process.

In the above-described example, the example in which the timing unit1005 starts counting after the execution of the automatic imageorientation changing process or the automatic coordinate orientationchanging process has been described. Alternatively, the timing unit 1005may start counting upon the reception of the image orientation changingcommand or the coordinate orientation changing command.

In this way, even when a certain time period has elapsed after one ofthe image orientation changing command and the coordinate orientationchanging command is received, if the other command is not received, thecontrol unit 1001 can execute control to rotate the captured image andthe coordinate system to be restored to a state before the execution ofthe image orientation changing command and the coordinate orientationchanging command.

Next, the image coordinate orientation changing process will bedescribed using FIG. 9C. At first, the control unit 1001 refers to thememory 1002 and determines whether the automatic changing process(automatic image orientation changing process or automatic coordinateorientation changing process) is being executed (S2700). When theautomatic changing process is being executed (Yes in S2700), the controlunit 1001 uses the timing unit 1005 to delete all the active timers(S2710).

Here, when the control unit 1001 is executing the automatic changingprocess, the image pickup apparatus 2000 is in a state in which only oneof the image orientation changing command and the coordinate orientationchanging command is received from a client. After performing processingin step S2710, the control unit 1001 rotates the image orientation orthe coordinate orientation to be restored to a state before theexecution of the command received from the client (S2711). The controlunit 1001 moves the processing to step S2701 described later.

When the automatic image orientation changing process or the automaticcoordinate orientation changing process is not being executed (No inS2700) or when the processing in step S2711 ends, the control unit 1001executes processing in step S2701. In step S2701, the control unit 1001updates both the image orientation parameter and the coordinateorientation parameter in the memory 1002 in accordance with thearguments of the image/coordinate orientations in the received imagecoordinate orientation changing command. Next, the control unit 1001sends a normal response to the source of the image coordinateorientation changing command (S2702).

In this manner, when the control unit 1001 receives the image coordinatechanging command while executing the automatic image orientationchanging process or the automatic coordinate orientation changingprocess, the control unit 1001 changes the image orientation and thecoordinate orientation to be restored to a state before the execution ofthe command received by the communication unit 1004 and the automaticchanging process, and then executes the image coordinate orientationchanging command.

Accordingly, the image pickup apparatus 2000 can output the capturedimage whose image orientation has been changed (captured image 1072illustrated in FIG. 6), and change the image capturing range on thebasis of the changed coordinates (coordinates 2083 illustrated in FIG.7). Thus, the image pickup apparatus 2000 can output the captured imagein a state in which the image orientation (normal orientation/invertedorientation) and the coordinate orientation (normal orientation/invertedorientation) match each other, and change the image capturing range.

With the above processing, the image pickup apparatus 2000 can prevent astate in which only one of the orientation of the image and theorientation of the coordinates of the image capturable range is changed.Also, the image pickup apparatus 2000 can appropriately process imageorientation changing commands and coordinate orientation changingcommands received from the plural clients, and can send normal/errorresponses.

In the present embodiment, processing in the case in which the pluralclients 3000 are connected to the image pickup apparatus 2000 via thenetwork 3020 has been described. Also, in the present amendment,processing in the case in which a normal response indicating that, inresponse to a command from one of the clients 3000, the command has beennormally executed or an error response indicating that the command hasnot been executed is given has been described. Further, in the presentembodiment, processing in the case in which the image coordinateorientation changing command is received from the client 3000 has beendescribed. Such processing is not limited to the case in which theprocessing is applied to the image pickup apparatus 2000 with theso-called PTZ function, as in the present embodiment, and suchprocessing is applicable to the image pickup apparatus 1000 described inthe first embodiment.

Third Embodiment

In a third embodiment, a client application for causing the client 3000to send the image orientation changing command illustrated in FIG. 5B orthe coordinate orientation changing command illustrated in FIG. 5C tothe image pickup apparatus 1000 will be described.

Processing executed when the client 3000 sends the coordinateorientation changing command or the image orientation changing commandto the image pickup apparatus 1000 will be described using theflowcharts illustrated in FIGS. 10A and 10B. In a configuration in whichthe control unit 3001 of the client 3000 includes a processor, theprocessing flow illustrated in FIGS. 10A and 10B indicates a program forcausing the control unit 3001 of the client 3000 to execute proceduresillustrated in FIGS. 10A and 10B. The processor included in the controlunit 3001 is a computer, and the processor executes a program read fromthe built-in memory 3002 included in the client 3000. Alternatively, theprocesses illustrated in FIG. 10A and 10B may be executed usinghardware.

First, the case in which the client 3000 sends the coordinateorientation changing command to the image pickup apparatus 1000 will bedescribed using FIG. 10A.

When the user gives the client 3000 an instruction to send thecoordinate orientation changing command to the image pickup apparatus1000, the control unit 3001 determines whether the coordinateorientation changing command has been normally executed by the imagepickup apparatus 1000 (S3100). For example, the control unit 3001 candetermine whether the coordinate orientation changing command has beennormally executed, on the basis of the contents of a response from theimage pickup apparatus 1000 in response to the coordinate orientationchanging command.

When the coordinate orientation changing command has not been normallyexecuted by the image pickup apparatus 1000 (No in S3100), the controlunit 3001 ends the process. In contrast, when the coordinate orientationchanging command has been normally executed by the image pickupapparatus 1000 (Yes in S3100), the control unit 3001 executes theautomatic image orientation changing process (S3101). Here, theautomatic image orientation changing process is a process ofautomatically sending, upon receipt of an instruction to send thecoordinate orientation changing command to the image pickup apparatus1000, the image orientation changing command to the image pickupapparatus 1000 prior to reception of an instruction to send the imageorientation changing command to the image pickup apparatus 1000.

After it has been determined that the image pickup apparatus 1000 hasnormally executed the coordinate orientation changing command, the imageorientation changing command can be automatically sent to the imagepickup apparatus 1000. As above, upon receipt of an instruction to sendthe coordinate orientation changing command to the image pickupapparatus 1000, the image pickup apparatus 1000 can be caused to executethe coordinate orientation changing command and the image orientationchanging command, prior to an instruction from the client to send theimage orientation changing command to the image pickup apparatus 1000.

In this way, the inconsistency between the image orientation of thecaptured image and the coordinate orientation can be prevented in aperiod from when the coordinate orientation changing command is normallyexecuted to when the image orientation changing command is sent to theimage pickup apparatus 1000 in response to an instruction from theclient.

Next, the control unit 3001 activates a timer using the timing unit 3006(S3102). The timer measures how much time has elapsed during thecontinuation of a state in which the image orientation of the capturedimage has been changed in response to the image orientation changingcommand automatically sent in step S3101.

Next, the control unit 3001 determines whether a certain time period haselapsed since the activation of the timer (S3103). The time period usedin determination in step S3103 can be arbitrarily set. When the certaintime period has elapsed since the activation of the timer (Yes inS3103), the control unit 3001 deletes the timer (S3104). The controlunit 3001 ends the automatic image orientation changing process (S3106).The control unit 3001 sends, to the image pickup apparatus 1000, acommand for rotating the current captured image in a direction oppositeto that in which the captured image has been rotated in response to theimage orientation changing command sent to the image pickup apparatus1000 in step S3101, by the angle by which the captured image has beenrotated in response to the image orientation changing command. In thismanner, after the certain time period has elapsed since the imageorientation changing command has been automatically sent to the imagepickup apparatus 1000 in step S3101, the control unit 3001 rotates thecaptured image to be restored to a state before the image orientationchanging command has been sent.

When it is determined in step S3103 that the certain time period has notelapsed since the activation of the timer (No in S3103), the controlunit 3001 determines whether an instruction has been given from the userto send the image orientation changing command to the image pickupapparatus 1000 (S3105). When there is no instruction from the user (Noin S3105), the control unit 3001 repeats the processing in step S3103.

In contrast, when an instruction has been given from the user to sendthe image orientation changing command to the image pickup apparatus1000 (Yes in S3105), the control unit 3001 executes processing to endthe automatic image orientation changing process executed in step S3101.That is, the control unit 3001 sends, to the image pickup apparatus1000, a command for rotating the current captured image in a directionopposite to that in which the captured image has been rotated inresponse to the image orientation changing command sent to the imagepickup apparatus 1000 in step S3101, by the angle by which the capturedimage has been rotated in response to the image orientation changingcommand. In this manner, overlapping execution of the image orientationchanging command given in response to the user's instruction and theautomatic image orientation changing command given in step S3101 can beprevented.

As above, when an instruction has been given from the user to send theimage orientation changing command, the image pickup apparatus 1000executes the coordinate orientation changing command sent in response tothe user's instruction. Also, the image pickup apparatus 1000 executesthe image orientation changing command sent in response to the user'sinstruction. Thus, the image orientation and the coordinate orientationare controlled to match each other.

Next, the case in which the client 3000 sends the image orientationchanging command to the image pickup apparatus 1000 will be describedusing FIG. 10B. A process that is the same as or similar to thatdescribed using FIG. 10A is performed when the image orientationchanging command is sent to the image pickup apparatus 1000.

When the user gives the client 3000 an instruction to send the imageorientation changing command to the image pickup apparatus 1000, thecontrol unit 3001 determines whether the image orientation changingcommand has been normally executed by the image pickup apparatus 1000(S4100).

When the image orientation changing command has not been normallyexecuted by the image pickup apparatus 1000 (No in S4100), the controlunit 3001 ends the process.

In contrast, when the image orientation changing command has beennormally executed by the image pickup apparatus 1000 (Yes in S4100), thecontrol unit 3001 executes the automatic coordinate orientation changingprocess (S4101). Here, the automatic coordinate orientation changingprocess is a process of automatically sending, upon receipt of aninstruction to send the image orientation changing command to the imagepickup apparatus 1000, the coordinate orientation changing command tothe image pickup apparatus 1000 prior to reception of an instruction tosend the coordinate orientation changing command to the image pickupapparatus 1000.

Next, the control unit 3001 activates a timer using the timing unit 3006(S4102). Next, the control unit 3001 determines whether a certain timeperiod has elapsed since the activation of the timer (S4103).

When the certain time period has elapsed since the activation of thetimer (Yes in S4103), the control unit 3001 deletes the timer (S3104).The control unit 3001 ends the automatic coordinate orientation changingprocess (S4106).

When it is determined in step S4103 that the certain time period has notelapsed since the activation of the timer (No in S4103), the controlunit 3001 determines whether an instruction has been given from the userto send the coordinate orientation changing command to the image pickupapparatus 1000 (S4105). When there is no instruction from the user (Noin S4105), the control unit 3001 repeats the processing in step S4103.

In contrast, when an instruction has been given from the user to sendthe coordinate orientation changing command to the image pickupapparatus 1000 (Yes in S4105), the control unit 3001 executes processingto end the automatic coordinate orientation changing process executed instep S4101.

As above, when the user gives an instruction to send the coordinateorientation changing command, the image pickup apparatus 1000 executesthe image orientation changing command sent in response to the user'sinstruction. Also, the image pickup apparatus 1000 executes thecoordinate orientation changing command sent in response to the user'sinstruction. Thus, the image orientation and the coordinate orientationare controlled to match each other.

In this manner, when the control unit 3001 receives an instruction tosend one of the image orientation changing command and the coordinateorientation changing command to the image pickup apparatus 1000, thecontrol unit 3001 executes control to cause, prior to reception of aninstruction to send the other one of the image orientation changingcommand and the coordinate orientation changing command to the imagepickup apparatus 1000, the image pickup apparatus 1000 to execute theimage orientation changing command and the coordinate orientationchanging command.

With the above processing, the client 3000 can prevent the image pickupapparatus 1000, serving as a target to be controlled, from entering astate in which only one of the orientation of the image and theorientation of the coordinates of the image capturable range is changed.Therefore, when the user wishes to change the image capturing rangewhile looking at a captured image distributed from the image pickupapparatus 1000, the image capturing range can be changed to the sameorientation as that of the distributed captured image. Thus, changes inthe image capturing range in accordance with the user's intention can berealized.

Other Embodiments

The embodiments are not limited to the above-described embodiments, andthe embodiments may be partially changed. In the first to thirdembodiments, the case in which the interfaces for changing the imageorientation and the coordinate orientation specify one of the normalorientation/inverted orientation has been described. However, theembodiments are not limited to the above case. An interface capable ofspecifying rotation every 90 degrees or every degree may be used.

The present invention may also be realized by executing the followingprocessing. That is, the processing is such that software (program)realizing the functions of the above-described embodiments is suppliedto a system or an apparatus via a network or various storage media, anda computer (or a CPU, an MPU, etc.) in the system or the apparatus readsand executes the program.

According to the present invention, even when an image pickup apparatusindependently receives a command for changing the orientation of acaptured image to be displayed at a control apparatus and a command forchanging the orientation of the coordinate system used for controllingthe image capturing direction of the image pickup apparatus, the imagecapturing direction can be changed to a direction intended by a user.

Also, according to the present invention, even when a control apparatusindependently sends a command for changing the orientation of a capturedimage to be displayed at the control apparatus and a command forchanging the orientation of the coordinate system used for controllingthe image capturing direction of an image pickup apparatus, the imagecapturing direction can be changed to a direction intended by a user.

The present invention is not restricted to the above-describedembodiments, and various changes and modifications can be made withoutdeparting from the spirit and scope of the present invention. Thus, thefollowing claims are appended to provide the scope of the invention tothe public.

1. A control apparatus comprising: a control unit configured to executea first process for outputting, in accordance with a first command thatinstructs to rotate an image captured by an image capturing unit by 180degrees, an image in which the image captured by the image capturingunit is rotated, and a second process for changing a first state inwhich an image capturing direction of the image capturing unit ischanged to a first direction if a first changing command for changingthe image capturing direction is received, to a second state in whichthe image capturing direction is changed to a second direction differentfrom the first direction if the first changing command is received; anda receiving unit that is capable of receiving the first command, thefirst changing command, and a specifying command that specifies an imagecapturing position of the image capturing unit, wherein the control unitis configured to execute the first process and the second process, ifthe first command is received by the receiving unit.
 2. The controlapparatus according to claim 1, wherein the first changing command isfor changing the image capturing direction to the first direction. 3.The control apparatus according to claim 1, wherein the second directionis opposite to the first direction.
 4. The control apparatus accordingto claim 1, wherein the control unit is configured to execute the secondprocess such that the first direction and the second direction aredifferent by 180 degrees.
 5. The control apparatus according to claim 1,wherein the control unit is configured to execute only the firstprocess, if the first command is consecutively received by the receivingunit.
 6. The control apparatus according to claim 1, wherein the secondprocess corresponds to a second command different from the firstcommand.
 7. The control apparatus according to claim 6, wherein thereceiving unit is configured to receive commands from a plurality ofcontrol apparatuses, and wherein, from when one of the first command andthe second command from a first control apparatus among the plurality ofcontrol apparatuses is received by the receiving unit to when the otherone of the first command and the second command from the first controlapparatus is received by the receiving unit, the control unit does notexecute a process corresponding to a command received from a secondcontrol apparatus different from the first control apparatus.
 8. Thecontrol apparatus according to claim 6, wherein the control unit isconfigured to return a state to a state before the first process and thesecond process are executed, if the second command is not received aftera predetermined period has elapsed since the first command has beenreceived by the receiving unit.
 9. The control apparatus according toclaim 1, wherein the first command is for rotating the image captured bythe image capturing unit by 180 degrees.
 10. The control apparatusaccording to claim 1, wherein the first command indicates whether or notto rotate the image captured by the image capturing unit by ON or OFF.11. The control apparatus according to claim 1, wherein the firstcommand indicates a degree of rotating the image captured by the imagecapturing unit.
 12. The control apparatus according to claim 1, whereinthe first changing command indicates a moving direction.
 13. The controlapparatus according to claim 1, wherein the first changing commandindicates a moving amount in a panning direction and a moving amount ina tilting direction.
 14. The control apparatus according to claim 1,wherein the receiving unit is configured to receive the first commandfrom an exterior via a network.
 15. The control apparatus according toclaim 1, wherein the receiving unit is configured to receive the firstchanging command from an exterior via a network.
 16. The controlapparatus according to claim 1 further comprising: an output unitconfigured to output at least one of the image captured by the imagecapturing unit and the rotated image of the image captured by the imagecapturing unit, to an exterior via a network.
 17. The control apparatusaccording to claim 1, wherein the first command is for changing a firstoutput state in which an image in a state that has not been rotatedafter capturing is output, to a second output state in which an image ina state that has been rotated after capturing is output.
 18. The controlapparatus according to claim 1, wherein the first changing command isfor changing the image capturing direction of the image capturing unitto the first direction.
 19. A control apparatus comprising: a controlunit configured to execute a first process for outputting, in accordancewith a first command that instructs to rotate an image captured by animage capturing unit by 180 degrees, an image in which the imagecaptured by the image capturing unit is rotated; and a receiving unitthat is capable of receiving the first command, a first changing commandfor changing an image capturing direction of the image capturing unit toa first direction, and a specifying command that specifies an imagecapturing position of the image capturing unit, wherein, if the firstcommand is received by the receiving unit, the control unit isconfigured to execute the first process, and a second process forcausing a state of an image capturing apparatus having the imagecapturing unit to be in a state in which, if the first changing commandis received, the image capturing direction is changed to a seconddirection different from the first direction.
 20. The control apparatusaccording to claim 19, wherein the control apparatus is configured tocontrol an image capturing apparatus having the image capturing unit,and the second process is for changing a state of the image capturingapparatus to a state in which the image capturing direction of the imagecapturing unit is changed to the second direction if the first changingcommand is received.
 21. The control apparatus according to claim 19,wherein the second direction is opposite to the first direction.
 22. Thecontrol apparatus according to claim 19, wherein the control unit isconfigured to execute the second process such that the first directionand the second direction are different by 180 degrees.
 23. The controlapparatus according to claim 19, wherein the control unit is configuredto execute only the first process, if the first command is consecutivelyreceived by the receiving unit.
 24. The control apparatus according toclaim 19, wherein the second process corresponds to a second commanddifferent from the first command.
 25. The control apparatus according toclaim 24, wherein the receiving unit is configured to receive commandsfrom a plurality of control apparatuses, and wherein, from when one ofthe first command and the second command from a first control apparatusamong the plurality of control apparatuses is received by the receivingunit to when the other one of the first command and the second commandfrom the first control apparatus is received by the receiving unit, thecontrol unit does not execute a process corresponding to a commandreceived from a second control apparatus different from the firstcontrol apparatus.
 26. The control apparatus according to claim 24,wherein the control unit is configured to return a state to a statebefore the first process and the second process are executed, if thesecond command is not received after a predetermined period has elapsedsince the first command has been received by the receiving unit.
 27. Thecontrol apparatus according to claim 19, wherein the first command isfor rotating the image captured by the image capturing unit by 180degrees.
 28. The control apparatus according to claim 19, wherein thefirst command indicates whether or not to rotate the image captured bythe image capturing unit by ON or OFF.
 29. The control apparatusaccording to claim 19, wherein the first command indicates a degree ofrotating the image captured by the image capturing unit.
 30. The controlapparatus according to claim 19, wherein the first changing commandindicates a moving direction.
 31. The control apparatus according toclaim 19, wherein the first changing command indicates a moving amountin a panning direction and a moving amount in a tilting direction. 32.The control apparatus according to claim 19, wherein the receiving unitis configured to receive the first command from an exterior via anetwork.
 33. The control apparatus according to claim 19, wherein thereceiving unit is configured to receive the first changing command froman exterior via a network.
 34. The control apparatus according to claim1 further comprising: an output unit configured to output at least oneof the image captured by the image capturing unit and the rotated imageof the image captured by the image capturing unit, to an exterior via anetwork.
 35. The control apparatus according to claim 19, wherein thefirst command is for changing a first output state in which an image ina state that has not been rotated after capturing is output, to a secondoutput state in which an image in a state that has been rotated aftercapturing is output.
 36. The control apparatus according to claim 1,wherein the first changing command is for changing the image capturingdirection of the image capturing unit to the first direction.
 37. Aimage capturing apparatus comprising: an image capturing unit; and acontrol unit configured to execute a first process corresponding to afirst command for changing a first output state in which an imagecaptured by the image capturing unit is output, to a second output statein which a rotated image of the image captured by the image capturingunit is output, and a second process for changing a first state in whichan image capturing direction of the image capturing unit is changed to afirst direction if a first changing command for changing the imagecapturing direction is received, to a second state in which the imagecapturing direction is changed to a second direction different from thefirst direction if the first changing command is received, wherein thecontrol unit is configured to execute the first process and the secondprocess, if the first command is received by a receiving unit.
 38. Animage capturing apparatus comprising: an image capturing unit; and acontrol unit configured to execute a first process corresponding to afirst command for changing a first output state in which an imagecaptured by the image capturing unit is output, to a second output statein which a rotated image of the image captured by the image capturingunit is output, wherein, if the first command is received by a receivingunit, the control unit is configured to execute the first process and asecond process for causing a state of the image capturing apparatus tobe in a state in which, if a first changing command for changing animage capturing direction of the image capturing unit to a firstdirection is received, the image capturing direction is changed to asecond direction different from the first direction.
 39. A controlmethod comprising: a receiving step of receiving a first command forchanging a first output state in which an image captured by an imagecapturing unit is output, to a second output state in which a rotatedimage of the image captured by the image capturing unit is output; acontrolling step of executing a first process corresponding to the firstcommand, and a second process for changing a first state in which animage capturing direction of the image capturing unit is changed to afirst direction if a first changing command for changing the imagecapturing direction is received, to a second state in which the imagecapturing direction is changed to a second direction different from thefirst direction if the first changing command is received, wherein thefirst process and the second process are executed in the controllingstep, if the first command is received in the receiving step.
 40. Acontrol method comprising: a receiving step of receiving a first commandfor changing a first output state in which an image captured by an imagecapturing unit is output, to a second output state in which a rotatedimage of the image captured by the image capturing unit is output; and acontrolling step of executing a first process corresponding to the firstcommand, wherein, in the controlling step, if the first command isreceived in the receiving step, the first process and a second processare executed, the second process being for causing a state of an imagecapturing apparatus having the image capturing unit to be in a state inwhich, if a first changing command for changing an image capturingdirection of the image capturing unit to a first direction is received,the image capturing direction is changed to a second direction differentfrom the first direction.
 41. A non-transitory computer-readablerecording medium storing a program causing a computer in a controlapparatus to execute the following: a first process for outputting, inaccordance with a first command that instructs to rotate an imagecaptured by an image capturing unit by 180 degrees, an image in whichthe image captured by the image capturing unit is rotated, and a secondprocess for changing a first state in which an image capturing directionof the image capturing unit is changed to a first direction if a firstchanging command for changing the image capturing direction is received,to a second state in which the image capturing direction is changed to asecond direction different from the first direction if the firstchanging command is received; receiving the first command, the firstchanging command, and a specifying command that specifies an imagecapturing position of the image capturing unit, wherein the firstprocess and the second process are executed, if the first command isreceived.
 42. A non-transitory computer-readable recording mediumstoring a program causing a computer in a control apparatus to executethe following: a first process for outputting, in accordance with afirst command that instructs to rotate an image captured by an imagecapturing unit by 180 degrees, an image in which the image captured bythe image capturing unit is rotated; and receiving the first command, afirst changing command for changing an image capturing direction of theimage capturing unit to a first direction, and a specifying command thatspecifies an image capturing position of the image capturing unit,wherein, if the first command is received by the receiving unit, thecontrol unit is configured to execute the first process, and a secondprocess for causing a state of an image capturing apparatus having theimage capturing unit to be in a state in which, if the first changingcommand is received, the image capturing direction is changed to asecond direction different from the first direction.